////////////////////////////////////////////////////////////////////////////////
// Filename: texture2d.hpp
////////////////////////////////////////////////////////////////////////////////
#ifndef TEXTURE_2D_HPP_
#define TEXTURE_2D_HPP_

//////////////
// INCLUDES //
//////////////
#include <d3d11.h>
#include <D3DX11tex.h>
#include "graphics.hpp"

////////////////////////////////////////////////////////////////////////////////
// Class name: Texture2D
////////////////////////////////////////////////////////////////////////////////
class Texture2D {
public:
	Texture2D();
	~Texture2D();

	bool Initialize(ID3D11Device* device, WCHAR* filename);
	void Shutdown();

	ID3D11ShaderResourceView* GetTexture();
	unsigned int GetWidth();
	unsigned int GetHeight();

private:
	ID3D11ShaderResourceView* m_texture;
	unsigned int m_width, m_height;
};

#endif
